package org.zecontech.extraplus.api.event;

import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.ai.goal.GoalSelector;
import net.neoforged.bus.api.Event;

/**
 * 生物初始化目标选择器的事件
 */
public class MobInitGoalEvent extends Event {

    // 计划选择器
    public final GoalSelector goalSelector;
    // 目标选择器
    public final GoalSelector targetSelector;
    public final Mob mob;

    /**
     * 创建一个 生物 初始化目标选择器的事件
     * @param mob 生物
     * @param goalSelector 选择器
     * @param targetSelector 选择器
     */
    public MobInitGoalEvent(Mob mob, GoalSelector goalSelector, GoalSelector targetSelector) {
        this.mob = mob;
        this.goalSelector = goalSelector;
        this.targetSelector = targetSelector;
    }

    /**
     * 获取计划选择器
     * @return 计划选择器
     */
    public GoalSelector getGoalSelector() {
        return goalSelector;
    }

    /**
     * 获取目标选择器
     * @return 目标选择器
     */
    public GoalSelector getTargetSelector() {
        return targetSelector;
    }

    /**
     * 获取生物
     * @return 生物
     */
    public Mob getMob() {
        return mob;
    }
}
